1. Technical Field of the Invention
The present invention relates generally to disaster recovery and non-stop services for computers, and more specifically to an automated and scalable system and method that provides total real-time redundancy for a plurality of client-servers utilizing virtual machines installed in a cloud computing environment that substitute for a failed client-server.
2. Description of Related Art
Generally speaking, in a client-server modeled system, a client (e.g., a computer terminal or server) requests resources from a server, which then provides a service by sharing its resources with the client. Many businesses, like those in the healthcare industry, rely on client-server systems to store critical data and applications, perform tasks, and operate their business. However, this reliance also leaves businesses vulnerable to disruptions caused by server failure, computer viruses, natural disasters, acts of terrorism, or any other event preventing the server from processing client requests. Since even temporary downtime can have significant financial impact, businesses must be disaster ready or run the risk of operations grinding to a complete halt when disaster occurs. Ideally, effective disaster recovery should be automated, scalable and address all data backup, failover (automatic switching to a backup operational system) and system restoration needs.
Prior art patents and other publications offer several attempts to meet these challenges. For example, businesses can backup applications and data using machine readable storage media including, but not limited to, magnetic tapes, Storage Area Networks (SAN), Network Attached Storage (NAS), flash storage, disks or any combination thereof. Moreover, an increasing number of vendors now offer data replication and storage services, requiring businesses to purchase and use additional computer hardware or software to replicate data through a network connection to offsite datacenters or cloud computing environments. In some cases, vendors also provide an add-on option to failover and connect to virtual machines which are installed on available datacenter or cloud resources, once system failure is detected. These virtual machines substitute onsite networked computers or servers for failed systems and are installed with the appropriate operating systems, applications and data so that businesses can continue normal operations. Once failed systems are replaced or repaired, businesses can then easily restore and load their data by retrieving a backup copy from their vendor or utilizing a copy stored locally.
Several prior systems rely on providing a backup file server to allow data to be recovered therefrom when a main system fails. Often such data is created as an image so that such can be reinstalled once the primary system fails. Other such prior systems allow for running a virtual machine over a network, but do not provide recovery of a failed system. Yet another system allows creation of data on virtual machines to allocate resources therebetween. Still another provides for configuration of virtual machines according to custom specifications desired by the user. Other systems provide data backup to a cloud computing environment of virtual machines.
Another prior system provides for monitoring of a computer system by virtual machines having some data thereon in order to send alerts to the computer system user of any device failure. Similar systems monitor and alert of any failure, so that a new system can be substituted. Yet another prior system creates a virtual machine for substitution one-on-one for a specific computer system. Still another system provides for detection of failure in a first computer and subsequent configuration of a second computer to relieve or enhance the first. Still another system substitutes a virtual machine during re-initialization of a main computer to preserve work in progress.
The above-mentioned solutions, as well as others, are generalized in scope and are not always cost effective, scalable or convenient for those utilizing client-server systems. For example, many medical practices prematurely purchased expensive client-server based Electronic Health Record (EHR) systems after the federal government passed the American Recovery and Reinvestment Act (ARRA) of 2009 which included incentive payments for those incorporating healthcare technology and fines for those avoiding it. Since most small- and medium-sized practices cannot afford information technology (IT) staff, and lack employees with technical expertise, they were ill-equipped to make informed purchases and now face the frightening reality that they are not disaster ready. A simple backup strategy does help protect their data; however, without continuous access to their specialized EHR application, this data is useless. Therefore, practices must not only backup their data and systems, they must also be able to failover when needed with minimal downtime and inconvenience. Now practices are backed into a corner and must buy additional hardware and/or software over the costs of their initial investment, and, in many cases, must pay high costs for IT support to compensate for their lack of automation.
Therefore, it is readily apparent that there is a need for an automated and scalable system and method, providing total real-time redundancy to a plurality of client-server systems, to protect such businesses to allow them to continue normal operations during a disaster.